package com.tbit.uqbike.object.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tbit.uqbike.annos.Excel;
import com.tbit.uqbike.webmanager.util.csv.annotations.Csv;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 站点运营统计
 *
 * @author <a href="mailto:yixingang@tbit.com.cn">yee_</a>
 * @version 1.0
 * @see <a href="#">#</a>
 * @since 2024/4/26
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName(value = "parkpointmachinestat")
public class ParkPointMachineStat {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 区域id
     */
    private Integer accountId;

    /**
     * 日期
     */
    @Csv(name = "日期", datePattern = "yyyy-MM-dd")
    @Excel(name = "日期", sort = 1)
    private String dataDate;

    /**
     * 时间节点
     * <ul>
     *   <li>1 表示 0点-1点</li>
     *   <li>2 表示 1点-2点</li>
     *   <li>3 表示 2点-3点</li>
     *   <li>......</li>
     *   <li>24 表示 23点-24点(第二天的00:00:00)</li>
     * </ul>
     */
    @Csv(name = "时段")
    @Excel(name = "时段", sort = 2)
    private Integer timeSlot;
    /**
     * 站点id
     */
    private Integer parkPointId;
    /**
     * 区域名称
     */
    @Csv(name = "区域名称")
    @Excel(name = "区域名称", sort = 3)
    private String accountName;
    /**
     * 站点名称
     */
    @Csv(name = "站点名称")
    @Excel(name = "站点名称", sort = 4)
    private String parkPointName;

    /**
     * 借车数
     */
    @Csv(name = "借车数")
    @Excel(name = "借车数", sort = 5)
    private Integer borrowCount;

    /**
     * 还车数
     */
    @Csv(name = "还车数")
    @Excel(name = "还车数", sort = 6)
    private Integer returnCount;

    /**
     * 起始车辆数
     */
    @Csv(name = "起始车辆数")
    @Excel(name = "起始车辆数", sort = 7)
    private Integer initCount;
    /**
     * 最终车辆数
     */
    @Csv(name = "截止车辆数")
    @Excel(name = "截止车辆数", sort = 8)
    private Integer finallyCount;

    /**
     * 调入车辆数
     */
    @Csv(name = "调入车辆数")
    @Excel(name = "调入车辆数", sort = 9)
    private Integer dispatchInCount;

    /**
     * 调出车辆数
     */
    @Csv(name = "调出车辆数")
    @Excel(name = "调出车辆数", sort = 10)
    private Integer dispatchOutCount;

    /**
     * 挪入车辆数
     */
    @Csv(name = "挪入车辆数")
    @Excel(name = "挪入车辆数", sort = 11)
    private Integer moveInCount;

    /**
     * 挪出车辆数
     */
    @Csv(name = "挪出车辆数")
    @Excel(name = "挪出车辆数", sort = 12)
    private Integer moveOutCount;

    /**
     * 闲置车辆数(短时)
     */
    @Csv(name = "闲置车辆数(短时)")
    @Excel(name = "闲置车辆数(短时)", sort = 13)
    private Integer idleShortCount;

    /**
     * 闲置车辆数(中时)
     */
    @Csv(name = "闲置车辆数(中时)")
    @Excel(name = "闲置车辆数(中时)", sort = 14)
    private Integer idleMiddleCount;

    /**
     * 闲置车辆数(长时)
     */
    @Csv(name = "闲置车辆数(长时)")
    @Excel(name = "闲置车辆数(长时)", sort = 15)
    private Integer idleLongCount;

    /**
     * 可用车辆数
     */
    @Csv(name = "剩余可租车辆数")
    @Excel(name = "剩余可租车辆数", sort = 16)
    private Integer availableRentCount;
    /**
     * 添加时间
     */
    private Date addTime;
    /**
     * 添加时间
     */
    private Date updateTime;

}
